package com.itheima.d3_system;

//目标：掌握System类常用方法的使用
public class Demo {
    public static void main(String[] args) {
        /**
         * static void exit(int status)：终止当前运行的Java虚拟机
         * static void arraycopy(Object src,  int  srcPos, Object dest, int destPos, int length)：复制数组
         * static long currentTimeMillis()：返回当前系统的时间毫秒值形式
         */
        //System.out.println("开始");
        //1.调用System的exit方法，就会结束程序。传入0代表正常退出！传入1代表异常退出
        //System.exit(0);
        //System.exit(1);

        //System.out.println(3 / 0);

        //System.out.println("结束");

        //2.定义一个两个数组arr1和arr2，将arr1的数据复制到arr2中
        int[] arr1 = {11, 22, 33, 44, 55};
        int[] arr2 = new int[5];
        System.out.println("复制前，arr2数组内容：");
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + "\t");
        }
        System.out.println();

        //3.开始复制
        //参数说明：被复制的数组，从被复制的数组几号索引开始复制，复制到的目标数组，从目标数组的几号索引开始存，复制多少个数据
        System.arraycopy(arr1, 1, arr2, 1, 3);
        System.out.println("复制后，arr2数组内容：");
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + "\t");
        }
        System.out.println();

        System.out.println("----------------");

        //4.获取系统此时的时间毫秒值（系统此刻时间距离1970年1月1日 0点0分0秒所经历过的所有的毫秒）
        long time = System.currentTimeMillis();
        System.out.println(time);

        //作用：可以用来校验一段程序的执行性能！在一段程序开始前获取一个时间毫米值，在程序运行后获取一个时间毫米值，取差值。
        //需求：求拼接10000次字符串消耗的时间
        String str = "";
        long start = System.currentTimeMillis();
        for (int i = 0; i < 100000; i++) {
            str += i;
        }
        long end = System.currentTimeMillis();
        System.out.println("消耗的毫秒值：" + (end - start));
    }
}
